#ifndef DRAWABLESPRITE_H
#define DRAWABLESPRITE_H

#include <SFML/Graphics.hpp>

class DrawableSprite:public sf::Sprite
{
public:
    enum Direction { East, West, North, South};
    void moveSprite(Direction _dir);
    DrawableSprite(sf::Sprite sprite);
    void setSpriteTexture(sf::Texture texture){_sprite.setTexture(texture);}
    sf::Sprite& getSprite() {return _sprite;}

protected:
    sf::Sprite _sprite;
    virtual void draw(sf::RenderTarget& target, sf::RenderStates states) const =0;
    Direction _dir;

private:
    DrawableSprite(DrawableSprite const&);
    void operator=(DrawableSprite const&);

};

#endif
